import { createStore } from 'vuex'

export default createStore({
    state: {
        name:"hhh",
        buyAllStatus: false
    },
    //用来同步修改state，里面都是方法，第一个参数是state，第二个参数是需要修改的值。
    mutations: {
        setName(state, newVal) {
            state.name = newVal;
        },
        setBuyStatus(state, status){
            state.buyAllStatus = status
        }
    },
    //异步提交mutations中的方法，第一个参数是整个store，第二个参数是要修改的新的值
    actions: {
        asyncSetName(store,newVal) {
            setTimeout(() => {
                //commit是提交mutation中的方法，即调用mutations的方法
                store.commit('setName',newVal)
            },2000)
        }
    },
    //模块化
    modules:{},
})
